package com.hyd.tweet.twitter.command;

import com.hyd.tweet.twitter.TwitterUserUtils;
import twitter4j.User;

import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.List;

/**
 * (description)
 *
 * @author yiding.he
 */
public class InfoCommand extends Command {

    @Override
    public List<String> processCommand() {
        if (arguments.isEmpty()) {
            return Arrays.asList("——没有指定用户。");
        }

        String screenName = arguments.get(0);

        twitter4j.User user;
        if (screenName.equals("me")) {
            user = this.twitterUser;
        } else {
            user = TwitterUserUtils.getTwitterUser(this.user.getAccount(), screenName);
        }

        return Arrays.asList(twitterUserToString(user));
    }

    private String twitterUserToString(User user) {
        return String.format("【%s(%s)】关注%d人，粉丝%d人，推数%d，最后发推时间：格林尼治 %s，个人介绍：“%s” %s",
                user.getScreenName(),
                user.getName(),
                user.getFriendsCount(),
                user.getFollowersCount(),
                user.getStatusesCount(),
                new SimpleDateFormat("yyyy-MM-dd HH:mm").format(user.getStatus().getCreatedAt()),
                user.getDescription(),
                "http://twitter.com/#!/" + user.getScreenName()
                );
    }
}
